package beans;

import java.sql.Connection;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import dao.JDBCLogarUsuarioDAO;
import dao.PersistConexao;
import model.ConnectDb;
import model.LoginUsuario;

@ManagedBean
public class LogarUsuarios {

	private LoginUsuario loginusuario = new LoginUsuario();

	private ConnectDb connectdb = new ConnectDb();
	private String schema = connectdb.getSchema_security();
	private String user = connectdb.getUser();
	private String pass = connectdb.getPass();

	public String logarUsuario() {
		String resp = "";
		String loginnomeusuario = loginusuario.getNmloginusuario();
		String loginsenhausuario = loginusuario.getSnloginusuario();

		loginusuario.setNmloginusuario(loginnomeusuario);
		loginusuario.setSnloginusuario(loginsenhausuario);
		/**
		 * ConnectDb connectdb = new ConnectDb(); String schema =
		 * connectdb.getSchema_producao(); String user = connectdb.getUser();
		 * String pass = connectdb.getPass();
		 **/
		PersistConexao persistconexao = new PersistConexao();
		Connection conexao = persistconexao.openConecao(schema, user, pass);

		JDBCLogarUsuarioDAO dao = new JDBCLogarUsuarioDAO(conexao);
		resp = dao.logar(loginusuario);
		persistconexao.closeConexao();

		return resp;
	}

	public String getSchema() {
		return schema;
	}

	public void setSchema(String schema) {
		this.schema = schema;
	}

	public String getUser() {
		return user;
	}

	public void setUser(String user) {
		this.user = user;
	}

	public String getPass() {
		return pass;
	}

	public void setPass(String pass) {
		this.pass = pass;
	}

	public String sairUsuario() {
		FacesContext contexto = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) contexto.getExternalContext()
				.getSession(false);
		session.invalidate();
		session.setAttribute("usuarioAutenticado", null);
		return ("sair");
	}

	public LoginUsuario getLoginusuario() {
		return loginusuario;
	}

	public void setLoginusuario(LoginUsuario loginusuario) {
		this.loginusuario = loginusuario;
	}

}